package com.caocaog.market.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.caocaog.market.dms.vo.QueryOrderVo;
import com.caocaog.market.modules.BaseEntity;
import com.caocaog.market.toccpt.vo.CcptOrderInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 商品订单信息表
 *
 * @author jeecg-boot
 * @date 2021-11-29
 */
@Data
@TableName("mk_order_base")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "mk_order_base对象", description = "商品订单信息表")
public class OrderBase extends BaseEntity implements Serializable {
    private static final long serialVersionUID = 1L;


    /**
     * 分站
     */
    @Excel(name = "分站", width = 15)
    @ApiModelProperty(value = "分站")
    @Dict(dictTable = "mk_site_basic", dicText = "name", dicCode = "id")
    private String siteId;
    /**
     * 商家
     */
    @Excel(name = "商家", width = 15)
    @ApiModelProperty(value = "商家")
    @Dict(dictTable = "mk_merchant_basic", dicText = "name", dicCode = "id")
    private String merchantId;
    /**
     * 店铺
     */
    @Excel(name = "店铺", width = 15)
    @ApiModelProperty(value = "店铺")
    @Dict(dictTable = "mk_shop_basic", dicText = "name", dicCode = "id")
    private String shopId;
    /**
     * 会员
     */
    @Excel(name = "会员", width = 15)
    @ApiModelProperty(value = "会员")
    @Dict(dictTable = "mk_member_basic", dicText = "nick_name", dicCode = "id")
    private String memberId;
    /**
     * 订单号
     */
    @Excel(name = "订单号", width = 15)
    @ApiModelProperty(value = "订单号 订单号规则 时间yyyymmddhhmmss加手机号后四位加来源")
    private String orderNo;
    /**
     * 类型1：外卖 2：自提 3：店内
     */
    @Excel(name = "类型1：外卖 2：自提 3：店内", width = 15)
    @ApiModelProperty(value = "类型1：外卖 2：自提 3：店内")
    @Dict(dicCode = "order_type")
    private Integer type;
    /**
     * 状态
     */
    @Excel(name = "状态", width = 15, dicCode = "order_status")
    @Dict(dicCode = "order_status")
    @ApiModelProperty(value = "状态 -3:退款成功-2:申请售后-1:取消订单0:待付款1:待发货(待核销)2:待收货3:已完成")
    private String status;
    /**
     * 来源1:微信小程序 2：支付宝小程序 3：安卓APP 4:IOSAPP
     */
    @Excel(name = "来源1:微信小程序 2：支付宝小程序 3：安卓APP 4:IOSAPP", width = 15, dicCode = "order_source")
    @Dict(dicCode = "order_source")
    @ApiModelProperty(value = "来源1:微信小程序 2：支付宝小程序 3：安卓APP 4:IOSAPP")
    private Integer source;

    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 自提订单核销码
     */
    @Excel(name = "自提订单核销码", width = 15)
    @ApiModelProperty(value = "自提订单核销码")
    private String verifyCode;

    /**
     * 是否展示
     */
    @Excel(name = "是否展示", width = 15, dicCode = "mk_whether")
    @Dict(dicCode = "mk_whether")
    @ApiModelProperty(value = "是否展示 0展示 1不展示")
    private Integer isShow;

    /**
     * 快递单号
     */
    @Excel(name = "快递单号", width = 15)
    @ApiModelProperty(value = "快递单号")
    private String expressNo;

    /**
     * 快递单号
     */
    @Excel(name = "快递公司", width = 15)
    @ApiModelProperty(value = "快递公司")
    private String expressCompany;

    /**
     * 获得积分
     */
    @Excel(name = "获得积分", width = 15)
    @ApiModelProperty(value = "获得积分")
    private BigDecimal takePoint;

    @ApiModelProperty(value = "门店logo")
    @TableField(exist = false)
    private String shopLogo;
    @ApiModelProperty(value = "门店名称")
    @TableField(exist = false)
    private String shopName;
    @ApiModelProperty(value = "商家客服服务电话")
    @TableField(exist = false)
    private String servicePhone;

    @ApiModelProperty(value = "分站联系电话")
    @TableField(exist = false)
    private String sitePhone;

    @ApiModelProperty(value = "商品订单行信息")
    @TableField(exist = false)
    private List<OrderLine> orderLineList;
    @ApiModelProperty(value = "商品订单配送信息")
    @TableField(exist = false)
    private OrderDelivery orderDelivery;
    @ApiModelProperty(value = "商品订单与优惠信息")
    @TableField(exist = false)
    private List<ShopPromoHis> orderPromoList;
    @ApiModelProperty(value = "商品订单支付信息")
    @TableField(exist = false)
    private OrderPay orderPay;
    @ApiModelProperty(value = "退款订单")
    @TableField(exist = false)
    private OrderRefund orderRefund;
    @ApiModelProperty(value = "跑腿订单")
    @TableField(exist = false)
    private CcptOrderInfo ccptOrderInfo;

    @ApiModelProperty(value = "门店经纬度")
    @TableField(exist = false)
    private String lng;

    @ApiModelProperty(value = "门店经纬度")
    @TableField(exist = false)
    private String lat;
    @ApiModelProperty(value = "跑腿系统中的订单状态1：支付成功待接单，2：已接单，3：骑士到店，4：已取货/配送中，5：已送达，6：订单完成，")
    @TableField(exist = false)
    @Dict(dicCode = "ccptOrderStatus")
    private String ccptOrderStatus;
    @TableField(exist = false)
    @ApiModelProperty(value = "骑士姓名")
    private String ccptStaffName;

    @TableField(exist = false)
    @ApiModelProperty(value = "骑士手机号")
    private String ccptStaffMobile;

    @TableField(exist = false)
    @ApiModelProperty(value = "餐号")
    private Integer mealNumber;

    @TableField(exist = false)
    @ApiModelProperty(value = "曹操跑单订单信息-DMS")
    private QueryOrderVo queryOrderVo;

    public static void main(String[] args) {

    }
}
